import { type ComponentPropsWithoutRef, type FC, useId } from 'react'

type Props = ComponentPropsWithoutRef<'svg'>

export const JackAndOctcat: FC<Props> = (props) => {
  const filterId = useId()
  const filterId2 = useId()

  return (
    <svg
      role="img"
      aria-label="Jack and Octocat"
      width="200"
      height="100"
      viewBox="0 0 200 100"
      fill="none"
      xmlns="http://www.w3.org/2000/svg"
      {...props}
    >
      <g filter={`url(#${filterId})`}>
        <path
          d="M79.9778 29.0302C79.9778 29.0302 81.9478 24.7102 83.7978 24.7102C88.1478 24.7102 87.9578 32.5202 87.9578 32.5202C87.9578 32.5202 96.6278 46.5002 97.2878 52.2302C101.778 53.4702 103.098 50.5602 105.098 51.9802C107.738 55.9202 102.678 61.4702 99.1078 62.9502C99.2178 71.2202 107.068 67.9902 107.068 73.1002C107.068 78.2102 99.8378 75.6902 98.1478 76.8002C96.4578 77.9102 99.1078 82.9002 94.6878 85.2802C91.1178 87.2002 85.2378 80.2902 80.3678 80.3502C75.4978 80.4102 70.9678 91.6202 61.9178 90.5502C52.8678 89.4802 55.6178 82.9002 50.3578 82.5702C45.0978 82.2402 39.2178 83.0602 36.0778 82.2302C33.1878 81.4602 31.2378 79.7502 32.2878 77.5702C34.7178 72.5702 38.0678 73.9302 39.8078 69.3702C41.5478 64.8102 40.2178 64.1602 42.4978 51.6802C43.1978 47.8202 46.3578 39.7702 46.3578 39.7702C46.3578 39.7702 43.2178 30.2202 47.3778 28.8602C51.5378 27.5002 53.4378 32.1102 55.1978 30.5902C59.3478 27.0302 75.4778 27.8702 79.9478 29.0202L79.9778 29.0302Z"
          fill="#141616"
        />
      </g>
      <path
        d="M83.7979 25.2102C84.71 25.2102 85.379 25.6098 85.8945 26.2454C86.4235 26.8975 86.7846 27.7949 87.0244 28.7385C87.2626 29.6756 87.372 30.6198 87.4209 31.3342C87.4453 31.6902 87.4548 31.9865 87.458 32.1926C87.4596 32.2955 87.4593 32.3761 87.459 32.4299C87.4588 32.4567 87.4582 32.4773 87.458 32.4905V32.5081L87.4541 32.6575L87.5332 32.7844L87.5342 32.7864C87.5352 32.788 87.5371 32.7901 87.5391 32.7932C87.5431 32.7998 87.5496 32.8094 87.5576 32.8225C87.5738 32.8487 87.5974 32.8883 87.6289 32.9397C87.6921 33.0427 87.7856 33.195 87.9043 33.3909C88.1416 33.7826 88.4814 34.3493 88.8916 35.0471C89.7124 36.4433 90.8137 38.3642 91.9346 40.4622C93.056 42.5612 94.1941 44.832 95.0918 46.9299C95.9948 49.0402 96.6349 50.9317 96.791 52.2874L96.8301 52.6223L97.1543 52.7122C99.5359 53.3699 101.1 52.9218 102.29 52.51C102.895 52.3007 103.317 52.1368 103.722 52.0911C104.058 52.0531 104.371 52.1025 104.733 52.3391C105.816 54.0414 105.335 56.1378 104.016 58.1096C102.684 60.101 100.601 61.7901 98.916 62.4885L98.6035 62.6184L98.6074 62.9573C98.6361 65.1075 99.1712 66.5719 100.008 67.6184C100.837 68.6558 101.921 69.2271 102.929 69.6682C103.181 69.7786 103.432 69.8826 103.674 69.9827C103.917 70.0835 104.151 70.1807 104.375 70.2805C104.825 70.4809 105.217 70.6837 105.542 70.9241C105.863 71.1613 106.114 71.4303 106.286 71.7649C106.459 72.0995 106.567 72.5271 106.567 73.0999C106.567 74.2406 106.175 74.8776 105.622 75.2698C105.032 75.6883 104.19 75.8795 103.205 75.9514C102.22 76.0234 101.204 75.9723 100.255 75.9719C99.7922 75.9718 99.3443 75.9847 98.9512 76.0364C98.5668 76.087 98.1789 76.1812 97.873 76.3821C97.2398 76.7981 97.077 77.5405 97.0176 78.2151C96.9865 78.5674 96.9805 78.9519 96.9756 79.3372C96.9706 79.7287 96.9668 80.1276 96.9424 80.5344C96.8934 81.3477 96.764 82.1537 96.4062 82.8879C96.0535 83.6118 95.4655 84.2938 94.4512 84.8401C93.7344 85.2256 92.8588 85.1948 91.7871 84.8372C90.7142 84.4791 89.5349 83.8236 88.2686 83.0813C87.0194 82.3491 85.689 81.535 84.3711 80.9133C83.0539 80.292 81.6912 79.8335 80.3613 79.8499C78.9595 79.8672 77.647 80.6819 76.3828 81.7356C75.1211 82.7872 73.7702 84.2027 72.3691 85.5081C69.508 88.1737 66.2622 90.5606 61.9766 90.054C59.7779 89.794 58.3365 89.2043 57.3213 88.4895C56.3058 87.7744 55.6797 86.9081 55.1445 86.0237C54.6278 85.1696 54.1473 84.1967 53.4795 83.468C52.7693 82.6932 51.8334 82.1622 50.3887 82.0715C47.731 81.9048 44.9156 82.0285 42.4111 82.0881C39.874 82.1485 37.6935 82.1398 36.2051 81.7463C34.8078 81.3738 33.7035 80.789 33.0771 80.094C32.7689 79.7519 32.585 79.3939 32.5234 79.0266C32.4625 78.6624 32.5138 78.2504 32.7373 77.7864C33.8901 75.4154 35.2391 74.5683 36.5732 73.7288C37.2468 73.3049 37.9511 72.8633 38.5928 72.2268C39.2426 71.5822 39.8165 70.7507 40.2754 69.5481C41.172 67.1981 41.2784 65.8359 41.4492 63.5325C41.6184 61.2507 41.8535 57.9865 42.9893 51.7698H42.9902C43.3322 49.8843 44.2834 46.9419 45.1621 44.4436C45.5993 43.2006 46.015 42.0774 46.3213 41.2649C46.4743 40.8589 46.6001 40.5306 46.6875 40.304C46.7311 40.1908 46.765 40.1026 46.7881 40.0432C46.7996 40.0137 46.8085 39.991 46.8145 39.9758C46.8174 39.9683 46.8198 39.962 46.8213 39.9583C46.8219 39.9567 46.8219 39.9552 46.8223 39.9543L46.8232 39.9534L46.8887 39.7854L46.833 39.6135H46.832C46.8317 39.6126 46.8317 39.6107 46.8311 39.6086C46.8298 39.6046 46.8279 39.5984 46.8252 39.5901C46.8198 39.5731 46.8114 39.5468 46.8008 39.5129C46.7796 39.4452 46.7489 39.3448 46.7109 39.2161C46.6348 38.9578 46.5298 38.5856 46.417 38.135C46.191 37.2319 45.9339 36.0206 45.8047 34.7737C45.6746 33.5186 45.6788 32.2679 45.9463 31.2678C46.2111 30.2779 46.71 29.6043 47.5332 29.3352C49.3869 28.7292 50.7302 29.4315 51.915 30.2043C52.4799 30.5728 53.0811 31.0122 53.6318 31.2336C53.9223 31.3504 54.2406 31.4261 54.5752 31.3938C54.9179 31.3607 55.2349 31.2187 55.5234 30.97C56.455 30.1709 58.1288 29.5742 60.2793 29.1731C62.4079 28.7761 64.9229 28.5846 67.4619 28.5393C72.5413 28.4486 77.6295 28.9428 79.8096 29.5002L79.8193 29.5042L80.2461 29.6467L80.4326 29.2375L80.4375 29.2278C80.4409 29.2205 80.4462 29.2094 80.4531 29.1946C80.4671 29.1649 80.488 29.1205 80.5156 29.0637C80.5711 28.9498 80.6529 28.7852 80.7568 28.5881C80.9653 28.193 81.2604 27.6694 81.6094 27.1487C81.9607 26.6244 82.3545 26.1215 82.7568 25.7551C83.1716 25.3775 83.5239 25.2102 83.7979 25.2102Z"
        stroke="#1DED83"
      />
      <path
        d="M83.7078 44.7504C81.0578 45.3804 80.7478 52.1804 84.5278 51.2104C88.3078 50.2504 85.9978 44.2104 83.7078 44.7504Z"
        stroke="#1DED83"
        strokeMiterlimit="10"
      />
      <path
        d="M65.2379 52.4801C69.6379 53.1401 69.8879 46.0701 66.8079 45.6501C64.1479 45.2901 60.8479 51.8201 65.2379 52.4801Z"
        stroke="#1DED83"
        strokeMiterlimit="10"
      />
      <g filter={`url(#${filterId2})`}>
        <path
          d="M111.038 52.4903C106.338 45.0903 106.998 29.8303 112.968 23.7603C111.748 20.3703 111.748 16.9203 112.708 13.4603C113.358 11.1303 113.288 10.8103 115.888 11.0803C119.598 11.4603 123.578 14.1703 126.738 15.9903C134.168 14.0203 141.898 14.0303 149.398 15.6703C153.288 13.5103 157.468 10.5903 162.158 11.1503C163.698 14.7803 164.048 18.9803 163.028 22.8003C165.028 25.1403 166.768 27.5203 167.668 30.5203C169.278 35.8703 168.398 46.7403 165.248 51.9603C161.538 58.0903 154.068 59.3503 147.318 60.2003C149.398 62.1503 150.708 64.4003 150.938 67.3103C151.228 71.0603 150.148 79.7503 151.428 82.6603C152.198 84.4103 154.358 85.0203 154.648 85.6803C155.278 87.1003 152.808 86.9403 152.038 86.8703C141.838 86.0203 148.288 73.8903 145.488 68.1403C145.318 67.7903 145.108 67.3603 144.708 67.2103V83.3603C144.708 83.5703 145.258 85.1403 145.408 85.4703C145.728 86.2103 146.808 87.2403 146.878 87.6103C147.258 89.6203 145.288 89.0703 144.058 88.6303C141.238 87.6303 139.718 85.0603 139.498 82.1603C139.088 77.0203 140.048 71.5303 139.188 66.4003H138.298C137.658 71.5403 138.508 77.0503 138.108 82.1603C137.938 84.3403 137.048 86.4303 135.238 87.7103C134.098 88.5203 129.928 90.3303 130.768 87.4403C130.838 87.1903 131.758 86.3403 132.058 85.7303C132.258 85.3203 132.888 83.6803 132.888 83.3503V67.0003C132.638 67.0603 132.458 67.3303 132.318 67.5303C130.698 69.9403 131.778 78.4103 131.488 81.7503C131.208 84.9503 128.578 86.6003 125.558 86.8503C124.738 86.9203 123.048 87.1103 122.888 86.1103C122.818 85.2203 124.768 84.5603 125.458 83.7403C125.858 83.2703 126.668 81.6903 126.668 81.1403V72.6203C122.838 73.1903 118.778 73.4603 115.448 71.1003C112.328 68.8903 112.198 65.6103 110.018 62.8903C108.748 61.3103 105.438 59.6603 105.858 58.8703C106.988 57.3003 109.768 58.3103 111.158 59.1303C115.048 61.4203 115.088 66.4203 120.748 66.9903C121.988 67.1203 126.318 66.7003 126.958 65.5803C127.158 65.2303 127.168 64.6303 127.368 64.1903C128.148 62.5203 128.968 61.4703 130.278 60.1803C122.788 59.1603 114.378 57.7203 111.058 52.4803L111.038 52.4903Z"
          fill="#141616"
        />
      </g>
      <path
        d="M114.424 11.5088C114.743 11.4842 115.186 11.5097 115.836 11.5771L115.837 11.5781C117.599 11.7586 119.456 12.4975 121.291 13.4404C123.132 14.3862 124.882 15.4986 126.488 16.4238L126.667 16.5264L126.866 16.4736C134.212 14.5261 141.861 14.5344 149.291 16.1592L149.476 16.1992L149.641 16.1074C151.619 15.009 153.589 13.7652 155.679 12.8477C157.662 11.9767 159.689 11.4327 161.806 11.6182C163.208 15.0868 163.51 19.0576 162.545 22.6709L162.477 22.9258L162.647 23.125C164.635 25.4503 166.319 27.7661 167.188 30.6641H167.189C167.968 33.2504 168.154 37.2319 167.745 41.2383C167.336 45.2463 166.339 49.1832 164.82 51.7012C163.041 54.6419 160.353 56.4305 157.248 57.5918C154.134 58.7566 150.631 59.279 147.256 59.7041L146.199 59.8369L146.976 60.5654C148.859 62.3312 150.064 64.322 150.387 66.8389L150.439 67.3496C150.582 69.191 150.386 72.2433 150.312 75.2881C150.275 76.7945 150.269 78.2885 150.354 79.5938C150.437 80.8844 150.612 82.0484 150.97 82.8613C151.414 83.8719 152.249 84.5281 152.938 84.9932C153.113 85.1106 153.282 85.2194 153.436 85.3174C153.591 85.4169 153.727 85.5046 153.846 85.5869C153.965 85.6698 154.053 85.7385 154.115 85.7969C154.176 85.854 154.19 85.8821 154.19 85.8818V85.8828C154.246 86.0084 154.251 86.0793 154.249 86.1084C154.248 86.1293 154.243 86.1392 154.232 86.1523C154.19 86.2025 154.057 86.2852 153.769 86.3438C153.214 86.4563 152.471 86.4073 152.083 86.3721H152.079C149.641 86.1689 148.293 85.3067 147.524 84.1221C146.733 82.9018 146.494 81.2487 146.488 79.3408C146.485 78.3944 146.539 77.4064 146.601 76.4004C146.662 75.3995 146.732 74.3773 146.758 73.3867C146.81 71.4184 146.693 69.475 145.937 67.9209C145.855 67.7521 145.742 67.5168 145.588 67.3057C145.431 67.0905 145.207 66.8637 144.884 66.7422L144.208 66.4893V83.3604C144.208 83.4547 144.232 83.5583 144.246 83.6152C144.264 83.6906 144.288 83.7795 144.316 83.874C144.373 84.0646 144.449 84.2981 144.528 84.5312C144.681 84.9815 144.861 85.4708 144.949 85.668V85.6689C145.142 86.114 145.542 86.613 145.847 86.9922C146.01 87.1956 146.152 87.3703 146.259 87.5176C146.312 87.5905 146.349 87.6474 146.373 87.6895C146.382 87.7049 146.387 87.7156 146.39 87.7217C146.468 88.1523 146.4 88.3349 146.355 88.4014C146.319 88.4555 146.238 88.5198 146.022 88.541C145.803 88.5625 145.515 88.5291 145.185 88.4521C144.86 88.3765 144.527 88.2667 144.227 88.1592H144.225C141.635 87.2407 140.205 84.8751 139.996 82.1221V82.1201C139.794 79.5854 139.93 76.9647 140.012 74.292C140.093 71.6346 140.12 68.9356 139.681 66.3174L139.611 65.9004H137.856L137.802 66.3389C137.476 68.9518 137.531 71.6499 137.613 74.3066C137.686 76.6429 137.78 78.9433 137.67 81.1709L137.609 82.1211C137.447 84.199 136.604 86.1311 134.949 87.3018L134.948 87.3027C134.427 87.6732 133.167 88.2934 132.173 88.4707C131.93 88.514 131.723 88.527 131.559 88.5117C131.393 88.4963 131.303 88.4552 131.257 88.4199C131.218 88.3903 131.061 88.2448 131.241 87.6055C131.243 87.6033 131.244 87.6012 131.246 87.5986C131.266 87.5684 131.299 87.5252 131.346 87.4678C131.44 87.3515 131.562 87.213 131.705 87.0469C131.971 86.7386 132.323 86.3245 132.507 85.9512V85.9492C132.619 85.7193 132.834 85.1861 133.018 84.6807C133.11 84.4251 133.199 84.167 133.265 83.9482C133.298 83.8391 133.327 83.734 133.348 83.6416C133.366 83.5595 133.388 83.4516 133.388 83.3506V66.3662L132.771 66.5137C132.509 66.5766 132.32 66.7399 132.197 66.8711C132.135 66.9371 132.078 67.0076 132.029 67.0732L131.908 67.2432L131.903 67.251C131.426 67.9616 131.181 69.0498 131.049 70.2441C130.914 71.4597 130.889 72.8728 130.904 74.2969C130.92 75.7201 130.978 77.1791 131.013 78.4717C131.048 79.7768 131.059 80.9047 130.989 81.707C130.862 83.1652 130.206 84.2528 129.241 85.0137C128.266 85.7828 126.954 86.2326 125.517 86.3516L125.516 86.3525C125.085 86.3893 124.519 86.4463 124.038 86.3857C123.799 86.3556 123.629 86.3009 123.523 86.2344C123.443 86.1837 123.404 86.1305 123.387 86.0527C123.391 86.0177 123.416 85.944 123.531 85.8184C123.672 85.6652 123.888 85.5009 124.166 85.3145C124.405 85.1541 124.776 84.924 125.038 84.7441C125.324 84.5484 125.622 84.321 125.84 84.0615C126.083 83.7754 126.407 83.2172 126.663 82.6875C126.795 82.4153 126.917 82.134 127.007 81.8789C127.091 81.6403 127.168 81.3695 127.168 81.1406V72.04L126.595 72.126C122.764 72.6961 118.89 72.9265 115.737 70.6924C114.28 69.6601 113.512 68.3778 112.83 66.9688C112.157 65.5788 111.545 63.995 110.408 62.5771H110.407C109.722 61.7252 108.505 60.8673 107.606 60.1855C107.136 59.8284 106.755 59.5232 106.518 59.2686C106.43 59.1751 106.38 59.1028 106.351 59.0537C106.762 58.5902 107.451 58.459 108.333 58.5977C109.263 58.7439 110.246 59.172 110.904 59.5605V59.5615C112.735 60.6395 113.629 62.3229 114.889 64.0049C115.504 64.8269 116.201 65.6269 117.128 66.2568C118.061 66.8905 119.204 67.3357 120.695 67.4863V67.4873C121.38 67.5591 122.824 67.4796 124.163 67.2471C124.838 67.1299 125.512 66.9691 126.068 66.7588C126.347 66.6536 126.609 66.531 126.831 66.3867C127.049 66.2449 127.257 66.0631 127.392 65.8281C127.538 65.5719 127.604 65.2513 127.652 65.0225C127.708 64.7594 127.75 64.561 127.821 64.4023C128.571 62.798 129.351 61.7945 130.629 60.5361L131.354 59.8223L130.346 59.6846C126.599 59.1744 122.666 58.5648 119.261 57.4385C115.85 56.3102 113.049 54.6887 111.48 52.2129L111.238 51.8311L111.226 51.8369C109.118 48.2521 108.192 42.9038 108.501 37.6562C108.822 32.2107 110.462 27.0216 113.324 24.1113L113.545 23.8867L113.438 23.5908C112.258 20.3103 112.254 16.9675 113.189 13.5947C113.357 12.9944 113.467 12.5662 113.585 12.2344C113.702 11.9049 113.8 11.7552 113.895 11.6729C113.978 11.6004 114.114 11.5327 114.424 11.5088Z"
        stroke="#1DED83"
      />
      <path
        d="M22.63 20.2802H24.31"
        stroke="#1DED83"
        strokeLinecap="round"
        strokeLinejoin="round"
      />
      <path
        d="M30.12 20.2802H31.8"
        stroke="#1DED83"
        strokeLinecap="round"
        strokeLinejoin="round"
      />
      <path
        d="M27.22 15.6902V17.3702"
        stroke="#1DED83"
        strokeLinecap="round"
        strokeLinejoin="round"
      />
      <path
        d="M27.22 23.1802V24.8602"
        stroke="#1DED83"
        strokeLinecap="round"
        strokeLinejoin="round"
      />
      <path
        d="M15.74 45.4802V50.9502"
        stroke="#1DED83"
        strokeLinecap="round"
        strokeLinejoin="round"
      />
      <path
        d="M18.47 48.2102H13"
        stroke="#1DED83"
        strokeLinecap="round"
        strokeLinejoin="round"
      />
      <path
        d="M186.64 55.3603H188.32"
        stroke="#1DED83"
        strokeLinecap="round"
        strokeLinejoin="round"
      />
      <path
        d="M194.12 55.3603H195.81"
        stroke="#1DED83"
        strokeLinecap="round"
        strokeLinejoin="round"
      />
      <path
        d="M191.22 50.7703V52.4603"
        stroke="#1DED83"
        strokeLinecap="round"
        strokeLinejoin="round"
      />
      <path
        d="M191.22 58.2603V59.9403"
        stroke="#1DED83"
        strokeLinecap="round"
        strokeLinejoin="round"
      />
      <path
        d="M185.6 20.7603V26.2303"
        stroke="#1DED83"
        strokeLinecap="round"
        strokeLinejoin="round"
      />
      <path
        d="M188.34 23.5002H182.87"
        stroke="#1DED83"
        strokeLinecap="round"
        strokeLinejoin="round"
      />
      <defs>
        <filter
          id={filterId}
          x="32"
          y="24.7102"
          width="75.0677"
          height="65.912"
          filterUnits="userSpaceOnUse"
          colorInterpolationFilters="sRGB"
        >
          <feFlood floodOpacity="0" result="BackgroundImageFix" />
          <feBlend
            mode="normal"
            in="SourceGraphic"
            in2="BackgroundImageFix"
            result="shape"
          />
          <feColorMatrix
            in="SourceAlpha"
            type="matrix"
            values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"
            result="hardAlpha"
          />
          <feOffset />
          <feGaussianBlur stdDeviation="14.5" />
          <feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1" />
          <feColorMatrix
            type="matrix"
            values="0 0 0 0 0.113725 0 0 0 0 0.929412 0 0 0 0 0.513726 0 0 0 0.5 0"
          />
          <feBlend
            mode="normal"
            in2="shape"
            result="effect1_innerShadow_5577_5845"
          />
        </filter>
        <filter
          id={filterId2}
          x="105.821"
          y="11"
          width="62.6349"
          height="78.0478"
          filterUnits="userSpaceOnUse"
          colorInterpolationFilters="sRGB"
        >
          <feFlood floodOpacity="0" result="BackgroundImageFix" />
          <feBlend
            mode="normal"
            in="SourceGraphic"
            in2="BackgroundImageFix"
            result="shape"
          />
          <feColorMatrix
            in="SourceAlpha"
            type="matrix"
            values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"
            result="hardAlpha"
          />
          <feOffset />
          <feGaussianBlur stdDeviation="14.5" />
          <feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1" />
          <feColorMatrix
            type="matrix"
            values="0 0 0 0 0.113725 0 0 0 0 0.929412 0 0 0 0 0.513726 0 0 0 0.5 0"
          />
          <feBlend
            mode="normal"
            in2="shape"
            result="effect1_innerShadow_5577_5845"
          />
        </filter>
      </defs>
    </svg>
  )
}
